﻿using System;
using System.Collections.Generic;

using System.Text;

using DataTransferObject;

namespace IView
{
    /*
     * Interface qui định các methods, properties để bên ngoài truy xuất vào OptionForm
     */
    /// <summary>
    /// 
    /// </summary>
    public interface IOptionForm
    {
        // OptionForm sẽ hiện thực chức năng này để load thông tin cấu hình đã lưu trước đó từ file lên
        /// <summary>
        /// Loads the setting.
        /// </summary>
        /// <param name="systemConfiguration">The system configuration.</param>
        /// <returns></returns>
        void LoadSetting(SystemConfiguration systemConfiguration);

        /*
         * Lưu trong file XML theo tab,
         */
        /// <summary>
        /// Creates the configuration obj.
        /// </summary>
        /// <param name="systemConfiguration">The system configuration.</param>
        /// <returns></returns>
        bool CreateConfigurationObj(ref SystemConfiguration systemConfiguration);

        /*
         * khu vực chứa các method để lấy thông tin từ OptionForm
         * để phục vụ cho PresenterOptionForm tạo đối tượng SystemConfiguration
         * chẳng hạn như: lấy thông tin ngày bắt đầu xếp lịch
         * Sẽ được mô tả chi tiết trong các bản sau
         */

        /// <summary>
        /// Gets or sets the path to save.
        /// </summary>
        /// <value>The path to save.</value>
        String PathToSave
        {
            get;
            set;
        }

       
        /*
         * khi bam ham new, tao mot working hour voi nhung thong so mac dinh
         * sau khi nguoi dung nhap vao thi luu workinghourItem nay lai
         * truoc khi goi ham nay phai goi ham check de dam bao 
         * ko co workinghourname bi trung, khong co thoi gian nao khong hop le
         * duoc goi khi day la mot workinghour moi
         * ket qua cuoi cung se duoc save vao list (dung ham saveWorkingHourItemToList)
         */

        #region bổ sung
        /*
         * Các bạn thấy cần thêm chức năng gì thì thêm interface vào phía bên dưới
         * Đồng thời implements chức năng đó (có thể là demo) ở các class trong JSK Application
         */

        #endregion

    }
}
